/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package edu.practica.bean;

import edu.practica.dao.Bus1DAO;
import edu.practica.model.Bus;
import java.util.LinkedList;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;

/**
 *
 * @author Majul
 */
@ManagedBean
@ViewScoped
public class BusBean {
   private Bus bus;    
    private List<Bus> listBuses;
    
    @EJB
    private Bus1DAO busDAO;
   
   public BusBean() {
        bus = new Bus();
        listBuses = new LinkedList<Bus>();
    }   
    
    @PostConstruct
    public void init() {
        listBuses = busDAO.listBus();
        System.out.println("Buses consultados: " + listBuses);
    }
    
    public void registrar() {
        try {
            //verificamos si ya existe 
            //si el campo ID es null, quiere decir que es nuevo y toca registrarlo
            if(bus.getId() == null || bus.getId().equals(0)) {
                System.out.println("Bus nuevo, registrando...");
                busDAO.registrar(bus);
               
            } else {
                System.out.println("Bus ya existente, modificando...");
                busDAO.modificar(bus);
            }
            
            //consulto bus para actualizar la lista
            listBuses = busDAO.listBus();
            
            //reiniciamos el pojo, para que los campos del formulario queden en blanco
            bus = new Bus();
            
            
        } catch (Exception e) {
            FacesContext.getCurrentInstance().addMessage(null, 
                    new FacesMessage("Error al intentar registrar bus."));
            e.printStackTrace();
        }
    }
    
    public Bus getBus() {
        return bus;
    }
     public void setBus(Bus Bus) {
        this.bus = Bus;
    }

    public List<Bus> getListBuses() {
        return listBuses;
    }

    public void setListBuss(List<Bus> listBuss) {
        this.listBuses = listBuses;
    }
}
